import 'package:json_annotation/json_annotation.dart';

import 'tags.dart';

part 'get_media_list_body.g.dart';

@JsonSerializable()
class GetMediaListBody {
  @JsonKey(name: 'ancestor_guid')
  final String ancestorGuid;

  @JsonKey(name: 'exclude_grouped_video')
  final int excludeGroupedVideo;

  @JsonKey(name: 'page_size')
  final int pageSize;

  @JsonKey(name: 'sort_column')
  final String sortColumn;

  @JsonKey(name: 'sort_type')
  final String sortType;

  final Tags tags;

  GetMediaListBody({
    required this.ancestorGuid,
    required this.excludeGroupedVideo,
    required this.pageSize,
    required this.sortColumn,
    required this.sortType,
    required this.tags,
  });

  factory GetMediaListBody.fromJson(Map<String, dynamic> json) =>
      _$GetMediaListBodyFromJson(json);

  toJson() => _$GetMediaListBodyToJson(this);
}
